/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import java.sql.SQLException;
import java.util.LinkedList;
import model.dto.LocalDTO;
import model.exception.MissingIdException;
import model.exception.NoChangesOnUpdateException;
import model.exception.NotNullFieldsException;
import model.handler.LocalHandler;

/**
 *
 * @author Gabriel
 */
public class LocalController {
    
    LocalHandler localHandler;

    public LocalController() throws SQLException, ClassNotFoundException {
        localHandler = new LocalHandler();
    }
    
    public LinkedList<LocalDTO> getTodosLocais() throws SQLException {
        return localHandler.getTodosLocais();     
    }
    
    public LinkedList<LocalDTO> pesquisaLocal(Integer id, 
                                              String endereco, 
                                              String bairro, 
                                              String cidade, 
                                              String estado) throws SQLException {
        return localHandler.pesquisaLocal(id, endereco, bairro, cidade, estado);
    }
    
    public void insereLocal(LocalDTO localDTO) throws NotNullFieldsException, SQLException {
        localHandler.cadastraLocal(localDTO);
    }
    
    public void atuaLizaLocal(LocalDTO localDTO,
                              boolean atualizaEstado,
                              boolean atualizaCidade,
                              boolean atualizaBairro,
                              boolean atualizaEndereco) throws NotNullFieldsException, NoChangesOnUpdateException, MissingIdException, SQLException {
        localHandler.atuaLizaLocal(localDTO, atualizaEstado, atualizaCidade, atualizaBairro, atualizaEndereco);
    }   
    
}
